/*
 * Copyright 2018 The JA-SIG Collaborative. All rights reserved.
 * distributed with thi file and available online at
 */
package com.lap.scp.admin.utils;

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;

import com.lap.scp.admin.utils.ErpEnums.Attend;
import com.lap.scp.admin.utils.ErpEnums.ContractStatus;
import com.lap.scp.admin.utils.ErpEnums.Sex;
import com.lap.scp.admin.utils.ErpEnums.Yn;

/**
 * <pre>
 * 提供数字字典
 * </pre>
 * 
 * @author 劳水生 Exp
 * @Date 2018年10月7日 下午4:45:29
 * @since 1.0
 */
public abstract class DictionaryUtils {
	/**
	 * 合同进度枚举
	 */
	public final static Map<String, String> CONSTANT_MAP = new LinkedHashMap<>();
	/**
	 * 通用状态枚举
	 */
	public final static Map<String, String> STATUS_MAP = new LinkedHashMap<>();
	/**
	 * 类型枚举
	 */
	public final static Map<String, String> TYPE_MAP = new LinkedHashMap<>();
	/**
	 * 类型枚举
	 */
	public final static Map<String, String> PAY_MAP = new LinkedHashMap<>();
	/**
	 * 性别
	 */
	public final static Map<String, String> SEX_MAP = new LinkedHashMap<>();
	/**
	 * 出勤状态
	 */
	public final static Map<String, String> ATTEND = new HashMap<>();

	static {
		initConstract();
		initStatus();
		initType();
		initPayMethod();
		initSex();
		initAttendMap();
	}

	/**
	 * 初始化项目进度
	 */
	private static void initConstract() {
		CONSTANT_MAP.put("", "--请选择--");
		for (ContractStatus s : ContractStatus.values()) {
			CONSTANT_MAP.put(String.valueOf(s.getValue()), s.getName());
		}
	}

	private static void initSex() {
		for (Sex s : Sex.values()) {
			SEX_MAP.put(String.valueOf(s.getValue()), s.getName());
		}

	}

	/**
	 * 初始化正常、禁用的常量
	 */
	private static void initStatus() {
		STATUS_MAP.put("", "--请选择--");
		for (Yn s : Yn.values()) {
			STATUS_MAP.put(String.valueOf(s.getValue()), s.getName());
		}
	}

	/**
	 * 出入库枚举
	 */
	private static void initType() {
		TYPE_MAP.put("", "--请选择--");
		TYPE_MAP.put("0", "出库");
		TYPE_MAP.put("1", "入库");
	}

	private static void initPayMethod() {
		PAY_MAP.put("1", "微信收款");
		PAY_MAP.put("2", "支付宝");
		PAY_MAP.put("3", "银行转账");
		PAY_MAP.put("4", "现金");
		PAY_MAP.put("5", "支票");
		PAY_MAP.put("99", "其他");
	}

	public static void initAttendMap() {
		ATTEND.put("", "--请选择--");
		for (Attend s : Attend.values()) {
			ATTEND.put(String.valueOf(s.getValue()), s.getName());
		}
	}

}
